﻿using System;
using NeuralLib;
using NeuralLib.ActivationFunction;

namespace NEATlib
{

    public class NeuronGene:ICloneable
    {
        public int NeuronIndex { get; set; }

        public int Level { get; set; }

        public ENeuronType Type { get; set; }

        public NeuronGene(int neuronID, ENeuronType type, int level)
        {
            NeuronIndex = neuronID;
            Type = type;
            Level = level;
        }

        public object Clone()
        {
            return new NeuronGene(NeuronIndex, Type, Level);
        }

        public DisconnectedNeuron ToDisconnectedNeuron()
        {
            return new DisconnectedNeuron(NeuronIndex, new SigmoidFunction(), Type );
        }
    }
}
